package com.wind.taobao.api.trade.product.convert
{
	import com.wind.taobao.api.trade.product.model.ProductImg;
	import com.wind.taobao.core.util.TaobaoConstants;

	import mx.collections.ArrayCollection;

	/**
	 * ProductImg 转换器
	 * @author fxy
	 *
	 */
	public class ProductImgConvert
	{
		/**
		 * 转换ProductImg集合
		 */
		public static function convertProductImgs(value:Object, type:String="json"):ArrayCollection
		{
			var productImgs:ArrayCollection=new ArrayCollection();
			if (value != null)
			{
				if (type == TaobaoConstants.JSON)
				{
					if ((value as Array).length > 0)
					{
						for (var i:uint=0; i < (value as Array).length; i++)
						{
							productImgs.addItem(convertProductImg((value as Array)[i]));
						}
					}
				}
				else
				{
					//TODO
				}
			}
			return productImgs;
		}

		/**
		 * 转换ProductImg
		 */
		public static function convertProductImg(value:Object, type:String="json"):ProductImg
		{
			var productImg:ProductImg=new ProductImg();
			if (value == null)
				return productImg;
			if (type == TaobaoConstants.XML)
			{
				productImg=convertXMLToProductImg(XML(value), productImg);
			}
			else
			{
				productImg=convertJSONToProductImg(value, productImg);
			}
			return productImg;
		}

		/**
		 * JSON转换为ProductImg
		 */
		private static function convertJSONToProductImg(json:Object, productImg:ProductImg):ProductImg
		{
			if (json.hasOwnProperty(TaobaoConstants.PICID))
			{
				productImg.pic_id=json[TaobaoConstants.PICID];
			}
			if (json.hasOwnProperty(TaobaoConstants.PRODUCT_ID))
			{
				productImg.product_id=json[TaobaoConstants.PRODUCT_ID];
			}
			if (json.hasOwnProperty(TaobaoConstants.URL))
			{
				productImg.url=json[TaobaoConstants.URL];
			}
			if (json.hasOwnProperty(TaobaoConstants.POSITION))
			{
				productImg.position=json[TaobaoConstants.POSITION];
			}

			return productImg;
		}

		/**
		 * XML转换为ProductImg
		 */
		private static function convertXMLToProductImg(value:XML, productImg:ProductImg):ProductImg
		{
			return productImg;
		}

	}
}